[VB] 哪位高手能看懂这段api代码

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:13:57
请解释一下这段VB程序。
最重要的是,现在是enter调用,如何将它改为CTRL可调用?谢谢了。

Option Explicit

Public mk1(100000) As Integer '窗体名称,用来判断是否打开
Public mk3 As Double '用来对打开的窗体进行转换是哪个
Public mk4 As Double '用来对打开的窗体进行转换是哪个
Private Const WH_KEYBOARD As Long = 2
Private Const VK_RETURN As Long = &HD

Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
(ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function CallNextHookEx Lib "user32" _
(ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long

Public ActiveForm As Form '当前活动窗体

Private lHookCount As Long 'BeginHook/EndHook 计数
Private hHook As Long

Public Sub BeginHook(

If (Key = VK_RETURN) And (Not ActiveForm Is Nothing) Then

那个VK_RETURN代表的是回车,将它改为Ctrl键就可以了。
即 If (Key = 17) And (Not ActiveForm Is Nothing) Then

整个代码的大意是使用钩子函数对当前线程的键盘消息进行挂钩,说通俗点就是截获所有的键盘消息。当遇到回车键的时候就执行特定的操作。